﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using HZ.MBSM.DBUtility;

public partial class Bidder_Default3 : System.Web.UI.Page
{
    Int64 PrintHospitalId;
    public String HospitalName, CompanyName_TB, CompanyName_PS, PrintProjectId, sy, sm, sd, ey, em, ed, _strContract_PayTime;
    protected void Page_Load(object sender, EventArgs e)
    {
        System.Collections.Generic.List<HZ.MBSM.DAL.AccountType> _AccountType = new System.Collections.Generic.List<HZ.MBSM.DAL.AccountType>();
        _AccountType.Add(HZ.MBSM.DAL.AccountType.enumHospitale);
        _AccountType.Add(HZ.MBSM.DAL.AccountType.enumSupervise);
        _AccountType.Add(HZ.MBSM.DAL.AccountType.enumAttorney);
        _AccountType.Add(HZ.MBSM.DAL.AccountType.enumAdmin);
        _AccountType.Add(HZ.MBSM.DAL.AccountType.enumCompany);

        if (HZ.MBSM.BLL.Login.CheckAssert(_AccountType))
        {
            Response.Write("<script>window.alert('合同未定！！！');</script>");
            Response.Write("<script>window.close();</script>");

            HZ.MBSM.Model.Account _Account = (HZ.MBSM.Model.Account)Session["Account"];
            if (_Account != null)
            {
                //如果调用此页面的人是医院就将医院的id取出来，如果调用此页面的不是医院，那么取出传过来的医院id号
                if (_Account.Type == "3")
                {                    
                    PrintHospitalId = SysFun.ToLong(_Account.AccountId);
                }
                else
                {                   
                    PrintHospitalId = SysFun.ToLong(SysFun.IsSQL(Request.QueryString["AccountId_YY"]));
                }
                PrintProjectId = SysFun.IsSQL(Request.QueryString["ProjectId"]);

                //如果医院id为空或者项目号为空那么就自动跳出去.
                if (PrintHospitalId == 0 || PrintProjectId == "")
                {
                    Response.Write("<script>window.alert('项目号为空或医院不存在！！！');</script>");
                    Response.Write("<script>window.close();</script>");
                    return;

                }

                //如果该医院已经填写了合同要素就显示此合同,如果没有填写此要素,该页面就自动关闭;
                if (Check())
                {                    
                    CompanyName_TB = SysFun.IsSQL(Request.QueryString["CompanyName_TB"]);
                    CompanyName_PS = SysFun.IsSQL(Request.QueryString["CompanyName_PS"]);
                    string _strWhere = "  where AccountId_YY=" + PrintHospitalId.ToString() + " and ProjectId=" + PrintProjectId;
                    string _strAccountId_TB = SysFun.IsSQL(SysFun.ToTrim(Request.QueryString["AccountId_TB"]));
                    if (_strAccountId_TB != "")
                    {
                        _strWhere += " and AccountId_TB=" + _strAccountId_TB;
                    }
                    string _strAccountId_PS = SysFun.IsSQL(SysFun.ToTrim(Request.QueryString["AccountId_PS"]));
                    if (_strAccountId_PS != "")
                    {
                        _strWhere += " and AccountId_PS=" + _strAccountId_PS;
                    }

                    string YJCGJE="";
                    Db db = new Db();
                    System.Data.IDataReader dr;
                    dr = db.DataReader("select sum(PlanPurNum*BidPrice) as YJCGJE from PurchaseTable " + _strWhere);
                    if (dr.Read())
                    {
                        YJCGJE += dr["YJCGJE"].ToString();
                    }
                    dr.Close();
                    dr.Dispose();
                    dr = null;
                    db.Close();
                    db = null;
                    string Title = "";
                    switch (PrintProjectId)
                    { 
                        case "8":
                            Title = "2007年度云南省医疗机构药品集中招标采购";
                            Title = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1）2007年度云南省医疗机构药品集中招标采购；";
                            break;
                        case "9":
                            Title = "2007年度云南省医疗机构药品集中招标采购";
                            Title = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1）2007年度云南省医疗机构药品集中招标采购；";
                            break;
                        case "10":
                            Title = "2007年度云南省医疗机构药品集中招标采购";
                            Title = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1）2007年度云南省医疗机构药品集中招标采购；";
                            break;
                        case "11":
                            Title = "2007年度云南省医疗机构药品集中招标采购";
                            Title = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1）2007年度云南省医疗机构药品集中招标采购；";
                            break;
   
                    }
                    printWord();
                }
                else
                {
                    Response.Write("<script>window.alert('当前医院没有选择采购日期！');</script>");
                    Response.Write("<script>window.close();</script>");
                }
            }
        }
    }

    //打印word
    private void printWord()
    {

        Response.ContentType = "application/ms-word";
        Response.AddHeader("Content-Disposition", "attachment;filename=\"" + System.Web.HttpUtility.UrlEncode("中标药品配送协议书" + DateTime.Now.ToShortDateString(), System.Text.Encoding.UTF8) + ".doc\"");
        StringBuilder sb = new StringBuilder();
        System.IO.StringWriter sw = new System.IO.StringWriter(sb);
        System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
        sb.Append("<html><body margin-top='10%' margin-bottom='10%' margin-left='15%' margin-right='15%'>");

        sb.Append("<center><h3>2007年度云南省医疗机构药品集中招标采购</h3></center></p>");
        sb.Append("<center><h3>购销合同</h3></center></p>");
        sb.Append("<center><h3>（编号：HNYPZB2007-001）</h3></center></p>");
        sb.Append("</br>");
        sb.Append("</br>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;甲方（采购人名称）：" + HospitalName + "</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;乙方（中标人名称）：" + CompanyName_TB + "</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;丙方（配送单位名称）：" + CompanyName_PS + "</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;丁方（省辖市药招办）：</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;鉴于丁方为满足甲方获得以下药品（详见《2007年度云南省医疗机构药品集中招标采购中标药品采购目录》）和伴随服务而进行集中招标采购，并接受了乙方对商品的投标。本合同在此声明如下：</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;1、	本合同中的词语和术语的含义与通用合同条款中定义相同。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;2、	下述文件是合同的一部分，并与本合同一起阅读和解释：</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（1）	丁方出具的《中标通知书》；</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（2）	乙方提交的《投标函》（参见《投标文件》）；</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（3）	药品集中招标采购需求一览表（参见《HNYPZB2007-001招标文件》）；</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（4）	通用合同条款及前附表（参见《HNYPZB2007-001招标文件》）；</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（5）	云南省医疗机构药品集中招标采购监督管理办法（参见《HNYPZB2007-001招标文件》）。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;3、	本合同仅为明确甲方在本次集中招标采购周期内的采购品牌、价格及服务要求，实际交易量以乙方向甲方提交的供货发票为准。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;4、	本合同所涉及的成交品种及具体商品信息将以丁方出具的《中标通知书》为准。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;5、	本合同所涉及的成交品种，如在本次招标采购周期内出现不符合国家相关法律、法规政策或者严重侵害医疗机构利益的，丁方将取消其中标资格并予以公示。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;6、	甲方必须从云南省医药招标采购网公布的中标药品目录和自行采购目录中采购；必须通过云南省医药招标采购网网上采购系统进行采购。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;7、	甲方须于每月前五个工作日内发布本月采购计划（该计划应不小于当月实际用量的80%），补充采购计划每月不得超过三次。甲方应充分考虑应急需要，备足应急药品。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;8、	甲方在合同约定的数量、金额和时限范围内，对中标企业配送的合格药品，不得以任何理由拒收或退货。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;9、	甲方自收到药品之日起最长不得超过60日结算货款。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;10、	乙、丙方应按照《HNYPZB2007-001招标文件》中的约定及本合同涉及的内容，向甲方提供合格的中标药品。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;11、	乙、丙方按照甲方的需求承担中标药品相关伴随服务，如履约期间产生任何异议并经丁方协调无果，甲方有权中止采购其中标品种。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;12、	乙、丙方必须具有满足所有甲方临床用药需求的供货能力，不论甲方药品采购规模大小，乙、丙方均须保证供货，供货的时间和数量以甲方的采购计划或合同为准，急救药品的配送不应超过4小时，一般药品的配送不应超过48小时。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;13、	乙方在各省辖市可委托原则上不超过四家的经销商进行转配送（乙方若为生产企业的可由其经销公司在各省辖市委托原则上不超过四家的经销商进行转配送或指定一家一级代理商配送，一级代理商可在各省辖市委托原则上不超过四家的经销商进行转配送。）并由乙方持委托书、转配送合同（委托书、转配送合同范本待定）到云南省药品招标管理服务机构备案。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;14、	乙、丙方全权负责中标药品的质量问题，有义务向甲方提供所需的商品资质文件。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;15、	本合同所涉及的中标药品如遇政府价格主管部门进行价格调整，则由丁方按照有关规定确定新的中标价格，丁方将对新的中标价予以公示。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;16、	丁方依照有关规定对甲、乙、丙三方行为进行监督管理；受理各方当事人对违规行为的投诉举报，纠正和查处各方违规违纪行为。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;17、	本合同中涉及“参见”的内容，由丁方代为保存以便甲、乙、丙三方查阅。</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp;18、	合同一式四份，甲、乙、丙、丁四方各执一份。合同自签订之日起生效，至下一年度药品集中招标采购合同签订后结束</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 甲方（公章）：  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 代表（签字）：  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 签订日期：&nbsp;&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;日  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");

        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 乙方（盖章）：  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 代表（签字）： &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 签订日期：&nbsp;&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;日  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");

        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 丙方（盖章）：  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 代表（签字）： &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 签订日期：&nbsp;&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;日  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");

        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 丁方（盖章）：  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 代表（签字）： &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");
        sb.Append("<p>&nbsp;&nbsp;&nbsp;&nbsp; 签订日期：&nbsp;&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;日  &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</p>");

        sb.Append("</div>");
        sb.Append("</body></html>");
        Response.Write(sb.ToString());
        Response.End();
    }
    public override void VerifyRenderingInServerForm(Control control)
    {
    } 
    protected Boolean Check() 
    {
        String Sql;
        Db db = new Db();
        System.Data.IDataReader dr;
        Sql = "Select Year(Contract_stat_date) as SY,Month(Contract_stat_date) as SM,Day(Contract_stat_date) as SD,Year(Contract_end_date) as EY,Month(Contract_end_date) as EM,Day(Contract_end_date) as ED,Contract_PayTime,hospital.HospitalName From hospital_contract,hospital where hospital_contract.hospital_id=hospital.AccountId and  hospital_id='" + PrintHospitalId.ToString() + "' And ProjectId='" + PrintProjectId + "'";
        dr=db.DataReader(Sql);
        if (dr.Read())
        {
            sy = dr["SY"].ToString();
            sm = dr["SM"].ToString();
            sd = dr["SD"].ToString();
            ey = dr["EY"].ToString();
            em = dr["EM"].ToString();
            ed = dr["ED"].ToString();
            HospitalName = dr["HospitalName"].ToString();
            _strContract_PayTime = dr["Contract_PayTime"].ToString();
            
            dr.Close();
            dr.Dispose();
            db.Close();
            return true;
        }
        else
        {
            
            dr.Close();
            dr.Dispose();
            db.Close();
            return false;
        }
       
    }
}
